/*
 * @Author: liuxiao
 * @Date: 2023-11-25 00:55:04
 * @Last Modified by: liuxiao
 * @Last Modified time: 2023-12-09 16:22:42
 * @ps:模型层，数据库模型
 */
//导入数据类型
const { DataTypes } = require('sequelize')

//导入数据库配置
const seq = require('../db/seq')

//创建模型(Mode test_user->test_users(表))
const User = seq.define(
  'test_user1',
  {
    //test_user就会对应test_users
    //id 会被自动创建
    username: {
      //字段的数据类型
      type: DataTypes.STRING,
      //字段是否允许为空
      allowNull: false,
      //字段是否唯一
      unique: true,
      //字段注释
      commit: '用户名，唯一'
    },
    password: {
      type: DataTypes.STRING,
      allowNull: false,
      //字段注释
      commit: '密码'
    },
    UUID: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4, // 或 DataTypes.UUIDV1
      allowNull: false
    },
    is_admin: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
      defaultValue: 0,
      commit: '是否为管理员,0:不是管理员(默认);1:是管理员'
    }
  }
  // { timestamps: false } //默认自定创建createdAt和updatedAt字段，如果设置false，则不自动创建
)

//force:true，强制创建，如果存在表，则删除
//User.sync({ force: true })

// const res = await User.findOne({
//   attributes: ["username"],
//   where: {
//     username: "liu",
//   },
// });

//console.log(res);

// const users = await User.findAll();
// console.log(users);

module.exports = User
